package _220317;

import java.io.StreamTokenizer;
import java.util.Scanner;

/**
 * @author ShadowLim
 * @create 2022-03-17-17:26
 */
public class _机器人行走 {
    /**
     *  346ms
     * @param args
     */
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//
//        for (int i = 1; i <= n; i++) {
//            String s = scanner.next();
//            char[] sc = s.toCharArray();
//            int x = 0, y = 0;
//            int nx = 0, ny = 0;
//            //定义上下左右：U(up) D(down) L(left) R(right),初始状态为U
//            char state = 'U';
//            for (int j = 0; j < sc.length; j++) {
//                // 读取到数字
//                if (sc[j] >= '0' && sc[j] <= '9') {
//                    int num = (int)(sc[j] - 48);
//                    for (int k = j + 1; k < sc.length; k++) {
//                        if (sc[k] >= '0' && sc[k] <= '9') {
//                            num = num * 10 + (int)(sc[k] - 48);
//                            j = k;
//                        } else {
//                            break;
//                        }
//                    }
//                    if (state == 'U') {
//                        y = y + num;
//                    } else if (state == 'L') {
//                        x = x - num;
//                    } else if (state =='R') {
//                        x = x + num;
//                    } else if (state == 'D') {
//                        y = y - num;
//                    }
//                } else { // 读取到字符
//                    //如果是L或R则更新当前小车头方向，否则移动
//                    if (sc[j] == 'L') {
//                        if (state == 'U') {
//                            state = 'L';
//                        } else if (state == 'L') {
//                            state = 'D';
//                        } else if (state == 'R') {
//                            state = 'U';
//                        } else if (state == 'D') {
//                            state = 'R';
//                        }
//                    } else if (sc[j] == 'R') {
//                        if (state == 'U') {
//                            state = 'R';
//                        } else if (state == 'L') {
//                            state = 'U';
//                        } else if (state == 'D') {
//                            state = 'L';
//                        } else if (state == 'R') {
//                            state = 'D';
//                        }
//                    }
//                }
//            }
//            double d1 = (x - nx) * (x - nx);
//            double d2 = (y - ny) * (y - ny);
//            double d = Math.sqrt(d1 + d2);
//            System.out.printf("%2f\n", d);
//            scanner.close();
//        }
//    }



    static String left = "ULDR";
    static String right = "URDL";

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        double[] result = new double[n];
        for (int i = 0; i < n; i++) {
            String s = sc.next();
            result[i] = getResult(s);
        }
        for (int i = 0; i < n; i++) {
            System.out.printf("%.2f\n", result[i]);
        }
    }

    private static double getResult(String s) {
        double r = 0, x = 0, y = 0;
        char way = 'U';
        for(int i = 0; i < s.length(); i++) {
            int start = i;
            if(s.charAt(start) >= '0' && s.charAt(start) <= '9') {
                while(start < s.length() && s.charAt(start) >= '0' && s.charAt(start) <= '9')
                    start++;
                int num = Integer.parseInt(s.substring(i, start));
                if(way == 'U') y += num;
                else if(way == 'L') x -= num;
                else if(way == 'D') y -= num;
                else if(way == 'R') x += num;
                i = start - 1;
            } else {
                char temp = s.charAt(i);
                if (temp == 'L') {
                    int p = left.indexOf(way + "");
                    p = (p + 1) % 4;
                    way = left.charAt(p);
                } else if (temp == 'R') {
                    int p = right.indexOf(way + "");
                    p = (p + 1) % 4;
                    way = right.charAt(p);
                }
            }
        }
        r = Math.sqrt(x * x + y * y);
        return r;
    }
}

